python 正则表达式贪心匹配

1 非贪心匹配

花括号的“非贪心”版本匹配尽可能最短的字符串,即在结束的花括号后跟着一个问号。

import re

haRegex = re.compile(r'(Ha){3,5}?')
mo1 = haRegex.search('HaHaHaHaHa')
print(mo1.group())
mo2 = haRegex.search('Ha')
print(mo2 == None)

2 贪心匹配

import re

haRegex = re.compile(r'(Ha){3,5}')
mo1 = haRegex.search('HaHaHaHaHa')
print(mo1.group())
mo2 = haRegex.search('Ha')
print(mo2 == None)